﻿Imports BDConexion
Imports System.Data.Common

Public Class Menu_Perfil
    Public perfil, cod_Menu As String
    Public idMenuPerfil As Integer

    Public Shared Function Nuevo(lMenuPerfil As List(Of Menu_Perfil)) As Resultado
        Dim conexion As New ConexionBD.ConexionBD()
        Dim oResultado As New Resultado
        oResultado.ExisteError = conexion.Conectar()
        If oResultado.ExisteError Then
            For Each menuPerfil As Menu_Perfil In lMenuPerfil
                Dim sentencia As String
                sentencia = "INSERT INTO MENU_PERFIL(PERFIL,COD_MENU) VALUES ('" + menuPerfil.perfil + "', '" + menuPerfil.cod_Menu + "')"
                conexion.ParametroEntrada = New List(Of DbParameter)
                'conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, menuPerfil.perfil, "PERFIL"))
                'conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, menuPerfil.cod_Menu, "COD_MENU'"))
                oResultado.ExisteError = conexion.EjecutarSql(sentencia)
                oResultado.FilasAfectadas = conexion.NumFilasAfectadas
                oResultado.Mensaje = conexion.mensaje
            Next
            conexion.Desconectar()
        End If
        Return oResultado
    End Function

    Public Shared Function ConsxNumMaxPerfil() As Integer
        Dim conexion As New ConexionBD.ConexionBD()
        Dim dtConsulta As New DataTable
        If conexion.Conectar() Then
            Dim sentencia As String
            sentencia = "SELECT MAX(ID_MENU_PERFIL ) as MAX FROM MENU_PERFIL"
            conexion.ParametroEntrada = New List(Of DbParameter)
            dtConsulta = conexion.Consulta(sentencia)
            conexion.Desconectar()
        End If
        Dim dr As DataRow = dtConsulta.Rows.Item(0)
        Return CInt(dr("MAX"))
    End Function

    Public Shared Function ConsxPerfil(PERFIL As Menu_Perfil) As DataTable
        Dim conexion As New ConexionBD.ConexionBD()
        Dim dtConsulta As New DataTable
        If conexion.Conectar() Then
            Dim sentencia As String
            sentencia = "select * from MENU_PERFIL WHERE PERFIL=@PERFIL"
            conexion.ParametroEntrada = New List(Of DbParameter)
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, PERFIL.perfil, "PERFIL"))
            dtConsulta = conexion.Consulta(sentencia)
            conexion.Desconectar()
        End If
        Return dtConsulta
    End Function

    Public Shared Function Eliminar(mperfil As Menu_Perfil) As Resultado
        Dim conexion As New ConexionBD.ConexionBD()
        Dim oResultado As New Resultado
        oResultado.ExisteError = conexion.Conectar()
        If oResultado.ExisteError Then
            Dim sentencia As String
            sentencia = "DELETE FROM MENU_PERFIL WHERE PERFIL=@PERFIL"
            conexion.ParametroEntrada = New List(Of DbParameter)
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, mperfil.perfil, "PERFIL"))
            oResultado.ExisteError = conexion.EjecutarSql(sentencia)
            oResultado.FilasAfectadas = conexion.NumFilasAfectadas
            oResultado.Mensaje = conexion.mensaje
            conexion.Desconectar()
        End If
        Return oResultado
    End Function
End Class
